/*
 * BornState.h
 *
 *  Created on: Sep 1, 2017
 *      Author: gaoyi
 */

#pragma once

#include "Character/newAI/AIState/AIBaseState.h"

class BornState : public AIBaseState
{
public:
    virtual bool CanChangeState(Creature* pCreature, AIData* pAiData, const AIStateEnum eState);

    virtual bool EnterState(Creature* pCreature, AIData* pAiData);

    virtual void OnProcess(Creature* pCreature, AIData* pAiData);

    virtual bool LeaveState(Creature* pCreature, AIData* pAiData);

    virtual void MoveSuccess(Creature* pCreature, AIData* pAiData);

    virtual void MoveFailed(Creature* pCreature, AIData* pAiData, int failedReason, Creature* pOtherCreature);

protected:
    bool IsBornProtectState(Creature* pCreature, AIData* pAiData);
};



